package com.settlement.system.service;

import com.settlement.system.common.exception.ServiceException;
import com.settlement.system.model.entity.common.TblRrOtherCapitalDetail;

import java.util.List;
import java.util.Map;

/**
 * 收退款-其他货币资金日记账 服务类
 *
 * @author Ximi
 * @since 2020-07-14
 */

public interface ITblRrOtherCapitalDetailService extends IBaseService {


    /**
     * check whether already exist begin-balace
     *
     * @param param   NC虚拟账号
     * @return return true if exist begin-balace otherwise return false
     * @throws ServiceException
     */
    public Boolean isExistBeginBalace(TblRrOtherCapitalDetail param) throws ServiceException;

    /**
     * 获取最小的月份
     *
     * @param param
     * @throws ServiceException
     * @return
     */
    public String getLeastCapitalMonth(TblRrOtherCapitalDetail param) throws ServiceException;


    /**
     * 获取最小的期初余额月份呢
     *
     * @param param
     * @return
     * @throws ServiceException
     */
    public String getLeastBeginBalaceCapitalMonth(TblRrOtherCapitalDetail param) throws ServiceException;


    /**
     * 保持期初
     *
     * @param list
     * @throws ServiceException
     */
    public void saveBeginBalance(List<TblRrOtherCapitalDetail> list) throws ServiceException;

    /**
     * 保持页面余额
     *
     * @param list
     * @throws ServiceException
     */
    public void savePageRemainAmount(List<TblRrOtherCapitalDetail> list) throws ServiceException;

    TblRrOtherCapitalDetail getFoot(Map<String, Object> params) throws ServiceException;
}

